#!/usr/bin/env node

const http = require('http'),
      qs = require('querystring');

let items = [];

function genpage(){
  let html = `<!DOCTYPE html>
  <html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>Todo List</title>
  </head>
  <body>
    <h1>Todo List</h1>
    <form method="POST" action="http://192.168.241.144:8080">
      <input type="text" name="item">
      <input type="submit" value="submit">
    </form>
    <ul id="items">
      ${items.map(i=>'<li>'+i+'</li>').join('\n')}
    </ul>
  </body>
  </html>`;

  return html;
}

http.createServer((req,res)=>{
  if(req.url !=='/'){
    res.statusCode = 404;
    res.setHeader('Content-Type','text/html');
    res.end('<h1>Not Found!</h1>');
    return;
  }
  let data = '';
  req.on('data',chunck =>data+=chunck);
  req.on('end',()=>{
    let item = qs.parse(data).item;
    if(item !==''&& typeof(item) !== 'undefined'){
      items.push(item);
    }
    res.writeHead(200,{
      'Content-Type':'text/html',
      'Content-length':Buffer.byteLength(genpage())
    });
    res.end(genpage());
  });
}).listen(8080);
